Pickup upgrades :
IMP_cannon.md3, IMP_pwrup1.md3, IMP_pwrup2.md3 are the pickups which allow (in this order) the upgrading of the gun (gun #1 to 4). They all use the same skin and glow skin, ie gun_skin4.png and gun_skin4_g.png. They all have only one frame named FRAME1.
 
Pickup weapons :
IMP_pickup1.md3 and IMP_pickup4.md3 are the pickup versions. IMP_pickup 2 and 3 .md3 are not needed because they are basically equal to pickup4, except using a different skin, with transparencies. This means that :
-IMP_pickup1.md3 uses gun_skin4.png and gun_skin4_g.png (same as the full weapon). This gives the first pickup of the weapon, with non cannon, and unusable.
-For gun #2, use IMP_pickup4.md3 with gun_skin2.png and gun_skin2_g.png.
-For gun #3, use IMP_pickup4.md3 with gun_skin3.png and gun_skin3_g.png.
-For gun #4, use IMP_pickup4.md3 with gun_skin4.png and gun_skin4_g.png.
I include these being aware of the fact that the first pickup could well be the only one we will eventually use in the project ; since only one IMP gun is supposed to exist, Duke picks up the cannonless gun and upgrades it afterwards. But who knows, we might change this. Anyway, all of these use one frame named FRAME1.
 
-Ammo :
IMP_ammo.md3 uses ammo_skin.png and ammo_skin_g.png

-HUD :
imp_gun_hud.md3 uses gun skins 2, 3, 4 for guns #2,  #3, and #4, plus corresponding glow skins for each. Hand_skin.png remains obviously unchanged. Check the wow animation : I hope my fix is good. Otherwise I'll modifiy it again.
I'm not sure, but I think my reexporting of the hud model inverted surface0 and surface1, so you might have to fix that in the deflines. I still don't understand how Blender numerates surfaces when you export several meshes in a single model. Other than that, the frames numbers and names are the same.
So, the thing is :
-When you get the cannon, your gun becomes gun#2, the wow animation plays (using skin2), and Duke gets ready to fire. gun#2 only fires normal shoots (SHOOT1 to SHOOT9), and has an ammo capacity of, say, 200.
-When you get the side canisters (pwrup1.md3), same wow animation, but with gun_skin3, the ammo capacity goes up to 400. gun#3 is still unable to use the big shoot.
-Finally, you get the upper tanks (pwrup2.md3), same thing again, wow animation with gun_skin4, and now gun#4 is able to use the big shoot (BSHOOT1 to BSHOOT106). Each big shoot should probably eat 50 or 100 ammo units.

Included a zip containing two animated models, bshoot.md3 and shoot.md3. each contains 28 frames names FRAME1 - FRAME28. Both use the same included skin, which should probably be the glow skin as well, since these projectiles emit their own light (I'd like them to feature your dynamic lighting thing, but I'm afraid it could quickly become impossible to handle when shooting a big quantity of them).
The zero point of the models is located on the head, so that the collision is easy to determine. I guess some sparks/explosions might be needed for these projectiles...
I assume you can easily add the pitch correction like for RPG rockets.
I think the models should probably have a 50 scale in the defs (like the imp gun), but this is a wild guess. Anyway, when shooting, they should begin small, and grow up quickly to their final size.